Component({
  options: {
    multipleSlots: true
  },
  properties: {
    title: { // 提示标题
      type: String,
      value: ''
    },
    desc: { // 提示的描述
      type: String,
      value: ''
    },
    show: { // 是否弹窗
      type: [Boolean, String],
      value: false
    },
    showClose: { // 是否显示关闭按钮
      type: [Boolean, String],
      value: true
    },
    showMask: { // 是否显示遮罩
      type: [Boolean, String],
      value: true,
      observer: function (newVal, oldVal) {
        this.setData({
          showDialogMask:newVal
        })
      }
    },
    maskClose: { // 是否开启点击遮罩关闭弹窗
      type: [Boolean, String],
      value: true
    }
  },
  data: {
    showDialog:false,
    showDialogMask:true
  },
  observers: {
    'show': function(newVal) {
      this.setData({
        showDialog:newVal
      })
      this.handleShowMask();
    }
  },
  methods: {
    //显示遮罩
    handleShowMask(){
      if(this.data.showMask){
        this.setData({
          showDialogMask:true
        })
      }
    },
    //点击/滑动遮罩
    handleMask(){
      if(this.data.maskClose){
        this.setData({
          showDialog:false
        })
      }
    },
    //显示弹窗-内部方法
    handleShow() {
      this.setData({
        showDialog:true
      })
    },
    //隐藏弹窗-内部方法
    handleHide() {
      this.setData({
        showDialog:false
      })
    },
    //关闭弹窗
    handleClose() {
      this.setData({
        showDialog:false
      })
      this.triggerEvent('close')
    }
  }
})
